#include <linux/init.h>
#include <linux/module.h>
#include <linux/miscdevice.h>  //杂项设备头文件
#include <linux/fs.h> //文件操作集头文件
struct file_operations misc_fops = {  //文件操作集结构体
.owner = THIS_MODULE
};
struct miscdevice misc_dev={  //杂项设备结构体
.minor = MISC_DYNAMIC_MINOR, //次设备号
.name = "misc_device",   //设备节点的名字
.fops = &misc_fops   //文件操作集
};
static int misc_init(void)
{
    int ret;  //次设备号
    ret = misc_register(&misc_dev);
    if(ret < 0)
        {
            printk("miscdevice registered error!\n");
            return -1;
        }
    printk("miscdevice registered successfully!\n");
    return 0;
}
static int misc_exit(void)
{
    misc_deregister(&misc_dev);
    printk("misc exit!\n");
} 
module_init(misc_init);
module_exit(misc_exit);
MODULE_LICENSE("GPL");

